高性能マイコンボードでサンプルプログラムを動かす(2023年3月 更新)
高性能マイコンボード(mbed NXP LPC1768)でサンプルプログラムをオフラインでコンパイルしてみたいと思います。
(いつの間にかオンラインでのコンパイルはできなくなった模様です。)
※このページの内容はWindows 11 Pro 64bitのPCで作成&実行したものになります。
ここではオフラインでコンパイルし、実行ファイル(.bin)を作成することにします。
先ずはコンパイルできる環境を構築します。
なお、以下の記述通りやっただけではコンパイルできないと思います。 エラーメッセージ等をみてその都度対策できる程度の技術力が無いとサンプルプログラムすらコンパイル&実行ができないと思います。 ご注意くださいね。サンプルプログラム自体にも不具合があったりしますので...mbed CLI1 または CLI2 を利用できます。 CLI2 の方は CMake を使いますので CMake を使ったことがない(理解できていない)方には CLI1 を利用することをお勧めします。 最初に必要なツールをインストールします。 私は https://os.mbed.com/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/ を参考にインストールしました。 GCC以外は最新バージョンで大丈夫だったと思います。GCCは9.xでないとダメかもしれません。
- Python(3.*)
- Git
- Mercurial
- GCC-9 (【arm-eabi-gcc9.3.1.exe download】でググってみてください。引っかからないときは、ここに書いてある内容ではダメかもしれません。)
- mbed CLI1 or CLI2
環境変数とパスを設定します。 環境変数 MBED_GCC_ARM_PATH にGCCのbinフォルダを指定する必要がありました。 私の場合はsetコマンドで以下のようなbinフォルダ設定しました。
set MBED_GCC_ARM_PATH=C:\SysGCC\arm-eabi\bin
パスの方は GCCのbinフォルダへのパス、make.exeへのパス、(CLI2を利用する場合)cmake.exeへのパスなど、
CLIから呼び出されるコマンド類にパスを通す必要がありました。なお、その他にも必要なコマンド(Ninjaとか)あるかと思いますのでエラーメッセージなどを見て必要に応じてインストールするなどして下さい。
コンパイル
mbed CLI をインストールできたらサンプルプログラムをインポートします。
作業用フォルダを作成してカレントディレクトリに変更してからインポートします。
C:\>cd \ C:\>mkdir mbed C:\>cd mbed C:\mbed>mbed import https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-blinky
上記のようにしますとc:\mbedフォルダにmbed-os-example-blinkyというサンプルプログラムがダウンロードされます。 ですがこのサンプルプログラム、このままではコンパイルできませんでした。 内容はともかくとして(本当にそのまま鵜呑みにしないで下さい)とりあえず動作したmain.cppは以下の通りです。
#include "mbed.h" // Blinking rate in milliseconds #define BLINKING_RATE 50ms DigitalOut led1(LED1); int main() { led1 = true; while (true) { led1 = !led1; // wait_ns(500000); ThisThread::sleep_for(BLINKING_RATE); } }
コンパイルは下記コマンドで行うことができます。
なお、--flash を最後に付け加えるとCPUボードにに書き込みまで行ってくれます。
mbed compile -t GCC_ARM -m LPC1768 (※CLI1) mbed-tools compile -t GCC_ARM -m LPC1768 (※CLI2)
上記コマンドで .bin ファイルが作成されるはずです。
上手くいかないときは環境がまだ不十分と思われますので、エラーメッセージ等がでていればそれを見ながら修正などしてください。